草庐IT

C++ 循环

全部标签

c# - 在 Debug模式下跳过 While 循环

场景如下:我在要调试的方法的开头放置了一个断点...首先假设此方法中有第1部分,我想进入/跳过某些代码。..很好......在那之后有一个While循环,我不想进入/跳过它,我只想告诉调试器嘿,你自己运行这个循环10次,然后让我转到第2部分我的代码在此While循环之后开始,是否可以使用调试选项执行此操作?所以像这样:BreakPoint:MyMethod{PartOneofthecode:Ok,letsdebugitWhileLoop:Idonotcare,DonotwanttodebugitPartTwoofthecode:Yes,Iwanttodebugittoo}

c# - 改进/修复 C 样式 block 注释的正则表达式

我正在(用C#)编写一个简单的解析器来处理一种看起来很像经典C的脚本语言。在我的一个脚本文件中,我用来识别/*block注释*/的正则表达式进入了某种无限循环,占用了100%的CPU多年。我使用的正则表达式是这样的:/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/关于为什么这可能被锁定有什么建议吗?或者,我可以改用什么正则表达式?更多信息:使用面向.NET3.5的C#3.0;我正在使用Regex.Match(string,int)方法在字符串的特定索引处开始匹配;我已经让程序运行了一个多小时,但比赛还没有完成;传递给Regex构造函数的选项是Regex

c# - 在 foreach 循环内外调用 SaveChanges() 有什么区别?

假设在循环内对EF实体进行了更改,在foreach循环或循环外调用EFSaveChanges()之间是否存在任何性能优势/技术差异? 最佳答案 是的!如果您在循环内调用它,EF将为每个实体将更改写回数据库(并且每个实体都将在其自己的单独事务中)。反过来,您将进行所有更改,EF将在循环后一次将它们写回(所有实体一起在一个事务中)。作为一般经验法则(无需实际查看您的代码)尝试尽可能少地调用.SaveChanges()。一次调用50次更改通常比50次调用每次1次更改更好/更快/更有效。 关于c

c# - 抛出异常后继续循环迭代

假设我有这样的代码:try{for(inti=0;i现在,很明显执行将在i==2停止,但我想让它完成整个迭代,以便在errorLog中有两个条目(对于i==2和i==4)那么,是否可以在抛出异常的情况下继续迭代? 最佳答案 只需将catch的范围更改为在循环内,而不是在循环外:for(inti=0;i 关于c#-抛出异常后继续循环迭代,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions

c# - 当声音仍在播放时,Windows Phone 8 上的 XNA 会循环播放音频

我需要一种在声音仍在播放时开始/停止循环的方法。我发现同时播放多种声音的最佳方式是使用XNA。因此,我从包含音频剪辑的SoundEffect对象开始创建了一个SoundEffectInstance。现在的问题是我有一个按钮可以将此剪辑的状态从“循环”更改为“非循环”,反之亦然。问题来了:它抛出一个异常,说明必须在第一次播放之前设置循环。所以我想,当从“非循环”切换到“循环”时,我可以等待声音停止,然后重新创建SoundEngineInstance,设置IsLooped=true并让它重新开始。这个可以用,但是有一些延迟,这会让你失去时间,所以它没什么用。我正在寻找一种在播放声音时设置或

c# - DataTable 循环性能比较

以下哪项性能最好?我已经看到在JavaScript中实现的方法二获得了巨大的性能提升,但是,我无法衡量C#中的任何提升,并且想知道即使像方法1一样编写时,编译器是否已经执行了方法2。方法2背后的理论是代码不必在每次迭代时访问DataTable.Rows.Count,它可以简单地访问intc。方法一for(inti=0;i方法二for(inti=0,c=DataTable.Rows.Count;i 最佳答案 不,它不能那样做,因为没有办法表达一个值的随时间变化。如果编译器应该能够做到这一点,则返回值的代码必须保证该值是常量,并且在循环

c# - 循环从 0 开始比循环从 1 开始快?

看看这两个循环constintarrayLength=...版本0publicvoidRunTestFrom0(){intsum=0;for(inti=0;i版本1publicvoidRunTestFrom1(){intsum=0;for(inti=1;i版本2publicvoidRunTestFrom2(){intsum=0;for(inti=2;iarrayLength=50的结果是(来自多次采样编译的X64的平均值):版本0:0.998s(平均0.001s的标准误差)总循环数:312500000版本1:1.449秒(平均0.000秒的标准误差)总循环次数:282475249版本2

c# - 有没有办法让 .Net JIT 或 C# 编译器优化掉空的 for 循环?

Does.NETJIToptimizeemptyloopsaway?的跟进:下面的程序只运行一个空循环十亿次并打印出运行时间。在我的机器上需要700毫秒,我很好奇是否有办法让抖动优化空循环。usingSystem;namespaceConsoleApplication1{classProgram{staticvoidMain(){varstart=DateTime.Now;for(vari=0;i据我所知,答案是否定的,但我不知道是否有我可能没有尝试过的隐藏编译器选项。我已经确保在Release模式下编译并在没有附加调试器的情况下运行,但仍然需要700毫秒来运行这个空循环。我也尝试了N

c# - 在 C# 中的特定时间后退出循环

我在我的项目(C#、VS2010、.NET4.0)中有一个要求,即特定的for循环必须在200毫秒内完成。如果没有,那么它必须在此持续时间后终止,而不执行剩余的迭代。循环通常从i=0到大约500,000到700,000,因此总循环时间会有所不同。我已经阅读了以下类似的问题,但它们对我的情况没有帮助:Whatisthebestwaytoexitoutofaloopafteranelapsedtimeof30msinC++Howtoexecutetheloopforspecifictime到目前为止,我已尝试使用Stopwatch对象来跟踪耗时,但它对我不起作用。到目前为止,这是我尝试过的

c# - 循环浏览 chrome 选项卡并根据网址关闭页面

我希望能够遍历chrome页面上的所有选项卡并关闭任何youtube页面的选项卡。我已经做了一些谷歌搜索并找到了下面的代码。有两个(很可能更多)问题。首先,我创建了一个WPF应用程序并添加了System.Windows.Automation命名空间(使用visualstudio2015.net4.5),但无法识别AutomationElement。我也不确定如何遍历选项卡并测试页面是否为youtube页面。Process[]procsChrome=Process.GetProcessesByName("chrome");if(procsChrome.Length0){ValuePatt